package com.mydemo.utils.dataUtils.JsonAndFile;

import java.io.FileWriter;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;

public class FileRW {
    /**
     * 读写
     * 这个类只负责将一个JSON串写入对应的代码或者将一个文件中的JSON串读取出来
     * */
    public static String FileRead(String path) {
//        文件路径，函数只有一个参数，即文件名称（不带后缀）
        String relativePath = "src/main/java/com/mydemo/data/" + path + ".txt";
        try {
            //返回所有的内容，具体的操作不由他完成
            return new String(Files.readAllBytes(Paths.get(relativePath)), StandardCharsets.UTF_8);
        } catch (IOException e) {
            e.printStackTrace();
            return "error";
        }
    }

    public static void FileWrite(String path, String context,boolean clear) {
//        ↑ 干脆废弃吧，默认擦除重写得了
//        参数的含义：路径（不带后缀），写入的文本，是否在文件末尾添加
        String relativePath = "src/main/java/com/mydemo/data/" + path + ".txt";
        try {
            FileWriter fileWriter = new FileWriter(relativePath, clear);
//             ↑ true:在文件末尾添加,但用不到，我们每次都清空所有的内容然后写新的
            fileWriter.write(context);
            fileWriter.close();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    public static void FileWrite(String path, String context) {
//        ↑ 直接默认覆盖而非续写
        String relativePath = "src/main/java/com/mydemo/data/" + path + ".txt";
        try {
            FileWriter fileWriter = new FileWriter(relativePath, false);
            fileWriter.write(context);
            fileWriter.close();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
}
